package com.chenfan.mcn.model.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Author Lin.Yutao
 * @Date 2023/8/22
 * @Time 15:00
 * @Version V1.0
 **/
@Data
public class BusinessCommissionDetailVoV2 implements Serializable {

    private static final long serialVersionUID = -8022125867284362827L;

    /**
     * 商务提成明细id
     */
    private Long id;

    /**
     * 执行单ID
     */
    private Long excuteId;

    /**
     * 执行单号
     */
    @Excel(name = "执行单号")
    private String excuteCode;

    /**
     * 合同编号
     */
    @Excel(name = "合同编号")
    private String incomeContractCode;

    /**
     * 客户id
     */
    private Long customerId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 红人平台ID
     */
    private Long starPlatformInfoId;

    /**
     * 红人平台昵称
     */
    @Excel(name = "红人平台昵称")
    private String starNickName;

    /**
     * 合同类型
     */
    private Integer contractType;

    /**
     * 合同类型名称
     */
    @Excel(name = "合同类型")
    private String contractTypeName;

    /**
     * 商务提成id
     */
    private Long businessId;

    /**
     * 合同回款状态
     */
    private Integer contractPaybackStatus;

    /**
     * 合同回款状态
     */
    @Excel(name = "合同回款状态")
    private String contractPaybackStatusName;

    /**
     * 执行单单据状态
     */
    private Integer approvalStatus;

    /**
     * 执行单单据状态名称
     */
    @Excel(name = "执行单单据状态")
    private String approvalStatusName;

    /**
     * 执行单回款状态
     */
    private Integer paybackStatus;

    /**
     * 执行单回款状态
     */
    @Excel(name = "执行单回款状态")
    private String paybackStatusName;

    /**
     * 执行单总收入(元)
     */
    @Excel(name = "执行单总收入(元)")
    private Double actualQuotedPrice;

    /**
     * 刊例原价(元)
     */
    @Excel(name = "刊例原价(元)")
    private BigDecimal cardRatePrice;

    /**
     * 内容实际报价(元)
     */
    @Excel(name = "内容实际报价(元)")
    private BigDecimal realAmount;

    /**
     * 其他加价收入(元)
     */
    @Excel(name = "其他加价收入(元)")
    private BigDecimal otherIncomeAmount;

    /**
     * 其他加价收入说明
     */
    @Excel(name = "其他加价收入说明")
    private String otherIncomeRemark;

    /**
     * 机酒差旅补贴(元)
     */
    @Excel(name = "机酒差旅补贴(元)")
    private BigDecimal specialIncomeAmount;

    /**
     * 机酒差旅补贴说明
     */
    @Excel(name = "机酒差旅补贴说明")
    private String specialIncomeRemark;


    /**
     * 其他补贴性收入(元)
     */
    @Excel(name = "其他补贴性收入(元)")
    private BigDecimal subsidyIncomeAmount;

    /**
     * 其他补贴性收入说明
     */
    @Excel(name = "其他补贴性收入说明")
    private String subsidyIncomeRemark;

    /**
     * 客户返点比例(%)
     */
    @Excel(name = "内容报价返点比例(%)", suffix = "%")
    private BigDecimal aeCustomerRabateRate;

    /**
     * 客户返点金额(元)
     */
    @Excel(name = "内容报价返点金额(元)")
    private BigDecimal aeCustomerRabateAmount;

    /**
     * 客户实际优惠比例（%）
     */
    @Excel(name = "本单实际优惠比例(%)", suffix = "%")
    private BigDecimal actualDiscountRatio;

    /**
     * 分成金额备注
     */
    @Excel(name = "分成金额备注")
    private String calculationDevidedRemark;

    /**
     * 执行单备注
     */
    @Excel(name = "执行单备注")
    private String ceoRemark;

    /**
     * 品牌编码
     */
    private String brandName;

    /**
     * 品牌
     */
    @Excel(name = "品牌")
    private String brandNameN;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称" )
    private String productName;

    /**
     * 发布平台
     */
    @Excel(name = "发布平台")
    private String platformName;

    /**
     * 发布形式
     */
    private String publishForm;

    /**
     * 发布形式名称
     */
    @Excel(name = "发布形式")
    private String publishFormName;

    /**
     * 合同签订日期（精确到天）
     */
    @Excel(name = "合同签订日期")
    private String signDate;

    /**
     * 实际发布日期
     */
    @Excel(name = "实际发布日期")
    private String realPublishDate;

    /**
     * 执行单回款日期
     * “来源明细”为当前执行单号的费用对应状态为“已核销”的核销单对应实收付的“收付时间”，多个时按时间升序用英文逗号隔开
     */
    @Excel(name = "执行单回款日期")
    private String paybackDate;

    /**
     * 财务核销日期
     * “来源明细”为当前执行单号的费用对应状态为“已核销”的核销单的“核销日期”，多个时按时间升序用英文逗号隔开
     */
    @Excel(name = "财务核销日期")
    private String clearDate;

    /**
     * 打款日期
     */
    @Excel(name = "打款日期")
    private String paidDate;

    /**
     * 回款账期
     * 财务核销日期-实际发布日期，多个财务核销日期时取离当前时间最近的那个
     */
    @Excel(name = "回款账期(天)")
    private String paidAccountPeriod;

    /**
     * 提成人ID
     */
    private Long commissionId;
    /**
     * 提成人名称
     */
    @Excel(name = "提成人")
    private String commissionName;

    /**
     * 提成人工号
     */
    @Excel(name = "提成人工号")
    private String jobNumber;

    /**
     * 业绩共享人名称
     */
    @Excel(name = "业绩共享人")
    private String performanceSharerName;

    /**
     * 业绩共享人工号
     */
    private Long performanceSharerId;

    @Excel(name = "业绩共享人工号")
    private String performanceSharerNumber;

    /**
     * 部门负责人
     */
    @Excel(name = "部门负责人")
    private String departmentHeadName;

    /**
     * 部门ID
     */
    private Long departmentHeadId;

    /**
     * 部门负责人工号
     */
    @Excel(name = "部门负责人工号")
    private String departmentJobNumber;

    /**
     * 所属部门ID
     */
    private Long departmentId;

    /**
     * 所属部门名称
     */
    @Excel(name = "所属部门")
    private String department;

    /**
     * 商务提成结算状态：0:未结算；1:结算中；2:已结算
     */
    @Excel(name = "商务提成结算状态", replace = {"未结算_0","结算中_1","已结算_2"})
    private Integer commissionSettleStatus;

    /**
     * 个人提成
     */
    private BigDecimal personalCommission;

    /**
     * 部门负责人提成
     */
    private BigDecimal departmentHeadCommission;

    /**
     * 备注
     */
    private String remark;

}
